import java.util.HashMap;
import java.util.Map;

/**
 * @author admin
 * 剑指 Offer11 50. 第一个只出现一次的字符
 * 解题思路：使用哈希表来记录每个字符出现的次数，返回第一个值为1的key
 */
public class Offer50 {

    public char firstUniqChar(String s) {
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        for (int i = 0; i < s.length(); ++i) {
            char ch = s.charAt(i);
            map.put(ch, map.getOrDefault(ch, 0) + 1);
        }
        for (int i = 0; i < s.length(); ++i) {
            if (map.get(s.charAt(i)) == 1) {
                return s.charAt(i);
            }
        }
        return ' ';
    }
    public static void main(String[] args) {
        System.out.println(new Offer50().firstUniqChar("leecode"));
    }
}
